package cn.xtcode.types.design.framework.tree;

/**
 * @Author xt-code
 * @Description: 策略映射器
 * @Create 2025/5/6 11:36
 * T入参
 * D,上下文  前后2个节点共享的数据 上个节点给下个节点的数据
 * R，返回的结果
 */
public interface StrategyMapper<T, D, R> {

    /**
     * 获取待执行策略
     *
     * @param requestParameter 入参
     * @param dynamicContext   上下文
     * @return 返参
     * @throws Exception 异常
     */
    StrategyHandler<T, D, R> get(T requestParameter, D dynamicContext) throws Exception;

}
